CC = clang++
FLAGS = -g -O3 `llvm-config-9 --cxxflags --ldflags --system-libs --libs all` -std=c++17
SRC = compiler.cpp TypeSystem.cpp
COMPILER = compiler
INPUT = input.data
OUTPUT = output.o
PROM = main
DEPS = *.h
$(PROM): $(OUTPUT) main.cpp
	$(CC) main.cpp  $(OUTPUT) -o $(PROM)
$(OUTPUT): $(COMPILER) $(INPUT)
	./$(COMPILER) $(INPUT)
$(COMPILER): $(SRC) $(DEPS)
	$(CC) $(FLAGS) -o $(COMPILER) $(SRC)
clean:
	rm -rf $(PROM) $(COMPILER) *.o
